﻿using System;
using System.Collections.Generic;
using eCommMongo.Core.Domain.Addresses;
using eCommMongo.Core.Domain.ShoppingCarts;
using eCommMongo.Core.Domain.Shops;

namespace eCommMongo.Core.Domain.Customers
{
    public class Customer:BaseMongoEntity
    {
        public virtual Guid UserGuid { get; set; }
        public virtual string Username { get; set; }
        public virtual string Email { get; set; }
        public virtual string Password { get; set; }
        public virtual string NickName { get; set; }
        public virtual string Intro{ get; set; }
        public virtual string SelectedPaymentMethodSystemName { get; set; }
        public virtual Address ShippingAddress { get; set; }

        [MongoReference]
        public virtual Shop Shop { get; set; }


        public virtual CustomerLogo CustomerLogo { get; set; }
        public virtual ICollection<ShoppingCartItem> ShoppingCartItems { get; set; }
        public virtual ICollection<Address> Addresses { get; set; }

        public virtual ICollection<CustomerRole> CustomerRoles { get; set; }
        public virtual IList<CustomerInterestedTag> CustomerInterestedTags { get; set; }

        //public virtual ICollection<FriendShipGroup> FriendShipGroups { get; set; }
        //public virtual FriendShipGroup FriendShipGroup { get; set; }
        //public virtual int? FriendShipGroupId { get; set; }


        public virtual bool Deleted { get; set; }
        public virtual bool Active { get; set; }
        public virtual DateTime CreatedOn { get; set; }

    }
}